package com.ray.quartz.service;


import java.util.List;
import java.util.Map;

import com.ray.quartz.table.entity.ScheduleJob;
import com.zjhc.flyhong.common.function.operator.LoginUser;
import com.zjhc.flyhong.common.function.operator.PageDto;

/**
 * 类ScheduleJobService的功能描述:
 * 定时任务
  @auther ray
 * @date 2018-01-08 16:14:04
 */
public interface ScheduleJobService {

	/**
	 * 根据ID，查询定时任务
	 */
	ScheduleJob queryObject(Long jobId);
	
	/**
	 * 查询定时任务列表
	 */
	List<ScheduleJob> queryList(PageDto<ScheduleJob> pageDto, ScheduleJob params,LoginUser user);
	
	/**
	 * 查询总数
	 */
	int queryTotal(ScheduleJob params);
	
	/**
	 * 保存定时任务
	 */
	void save(ScheduleJob scheduleJob,LoginUser currentUser);
	
	/**
	 * 更新定时任务
	 */
	void update(ScheduleJob scheduleJob,LoginUser currentUser);
	
	/**
	 * 批量删除定时任务
	 */
	void deleteBatch(Long[] jobIds);
	
	/**
	 * 批量更新定时任务状态
	 */
	int updateBatch(Long[] jobIds, int status);
	
	/**
	 * 立即执行
	 */
	void run(Long[] jobIds);
	
	/**
	 * 暂停运行
	 */
	void pause(Long[] jobIds);
	
	/**
	 * 恢复运行
	 */
	void resume(Long[] jobIds);
    /**
     * 删除数据
     * @param id
     */
	void delete(Long id);
	/**
	 * 立即执行
	 */
	void run(Long id);
	
	/**
	 * 暂停运行
	 */
	void pause(Long id);
	
	/**
	 * 恢复运行
	 */
	void resume(Long id);

	
}
